/**
 * @name cpp-cfg-gen
 * @id cpp/cfg-gen
 */

import cpp

from ControlFlowNode node
select node

// from File f,ControlFlowNode node,BasicBlock block,Scope scope,string node_type,string node_value,string last_node_type,string last_node_value,string last_node_location,string filepath,string node_location,string block_location,int b_startline,int b_startcolumn
// ,int b_endline,int b_endcolumn
// where
// node.

// node.getScope().getEnclosingModule().getFile()=f
// and
// filepath=f.getAbsolutePath()
// and
// scope=node.getScope()
// and
// isSource(f)
// and
// block.contains(node)
// and
// prepare_cfg_node_id(node, node_type, node_value, node_location)
// and
// prepare_basicblock_node_id(block, last_node_type, last_node_value, filepath, last_node_location, block_location, b_startline, b_startcolumn, b_endline, b_endcolumn)

// select node,block,node_type,node_value,last_node_type,last_node_value,scope,filepath,block_location,node_location,last_node_location